Media data may be encoded in a number of different formats. Some formats, including but not limited to MPEG 1, MPEG-2, and MPEG-4 (all standardized by the Motion Picture Experts Group (“MPEG”)), as well as Windows Media Video (WMV) (developed by Microsoft Corporation of Redmond, Wash.) and H.264, encode media data using both independent and predictive data frames. Independent data frames, or “key frames”, are self-contained in that a key frame is encoded without reference to any other data frames. In contrast, a predictive data frame encodes differences between that frame and previous and/or later data frames.
Because key frames may be decoded without reference to other data frames, they may be used as reference frames in digital media playback “trick modes”, such as fast-forward, rewind, and seek operations, to seed the decoding of related progressive frames. For example, some media players may implement high speed fast-forward and rewind playback of a media data stream by playing only key frames.
Because predictive frames generally offer a greater compression ratio than key frames, some media files utilize a lower density of key frames to decrease the bit rate, and consequently the overall size, of the file. However, as the frequency of key frames decreases, the similarities between adjacent key frames also may decrease and/or the overall frame-rate decreases. This may cause trick-mode playback to become choppier. As a result, some media data streams may have too few key frames for trick playback modes to work well. As a specific example, the playback of a video data stream with one key frame for every eight seconds of media data in an 8× (i.e. 8 times normal playback speed) fast-forward or rewind mode would result in the display of one frame per second. Likewise, playback of such a file in a 4× playback mode would result in the display of one frame every two seconds. Such playback may resemble a slide show of relatively unrelated images, rather than high-speed playback of a complete video scene.
Further, some media compression standards, such as MPEG-2, may provide for the creation of syntactically valid media data streams that have no key frames at all. Some streaming media sources, such as various international television stations, may encode video streams in such a manner to reduce the overall bit rate of the stream. As a result, these streams may not be playable with full trick-mode functionality on some players. Furthermore, because of the relative obscurity of this portion of the MPEG-2 specification, some decoders may not be configured to play such streams even at normal playback speed (“1× playback”).